package cas.ihep.pwa.fcn;

import java.util.ArrayList;
import java.util.List;

public class RunningParam {

    private ArrayList<String> _theparname;
    private ArrayList<List<String>> _addMass,_addWidth,_addArgRe,_addPhaseShift,_addReBW,_addImBW,_addSpecialBW,_addArgIm;
    private boolean _yesbw;
    private double[] theparspinden;

    static{
        registerNatives();
    }

    private native static void registerNatives();

    public RunningParam(){
        _theparname=new ArrayList<>();
        _addMass=new ArrayList<>();
        _addWidth=new ArrayList<>();
        _addArgRe=new ArrayList<>();
        _addPhaseShift=new ArrayList<>();
        _addReBW=new ArrayList<>();
        _addImBW=new ArrayList<>();
        _addSpecialBW=new ArrayList<>();
        _addArgIm=new ArrayList<>();
        theparspinden=new double[10];
    }

    public void setYesbw(boolean f){
        _yesbw=f;
    }

    public double parspinden(int idx){
        return theparspinden[idx];
    }

    public boolean yesbw(){
        return _yesbw;
    }

    public String theparname(int i){
        return _theparname.get(i);
    }

    public int theparnameSize(){
        return _theparname.size();
    }

    public List<String> theparname(){
        return _theparname;
    }

    public String addMass(int i,int j){
        return _addMass.get(i).get(j);
    }

    public int addMassSize(){
        return _addMass.size();
    }

    public String addWidth(int i,int j){
        return _addWidth.get(i).get(j);
    }

    public int addWidthSize(){
        return _addWidth.size();
    }

    public String addArgRe(int i,int j){
        return _addArgRe.get(i).get(j);
    }

    public int addArgReSize(){
        return _addArgRe.size();
    }

    public String addPhaseShift(int i,int j){
        return _addPhaseShift.get(i).get(j);
    }

    public int addPhaseShiftSize(){
        return _addPhaseShift.size();
    }

    public List<String> addPhaseShift(int i){
        return _addPhaseShift.get(i);
    }

    public String addReBw(int i,int j){
        return _addReBW.get(i).get(j);
    }

    public int addReBwSize(){
        return _addReBW.size();
    }

    public String addImBw(int i,int j){
        return _addImBW.get(i).get(j);
    }

    public int addImBwSize(){
        return _addImBW.size();
    }

    public String addSpecialBW(int i,int j){
        return _addSpecialBW.get(i).get(j);
    }

    public List<String> addSpecialBW(int i){
        return _addSpecialBW.get(i);
    }

    public int addSpecialBWSize(){
        return _addSpecialBW.size();
    }

    public String addArgIm(int i,int j){
        return _addArgIm.get(i).get(j);
    }

    public int addArgImSize(){
        return _addArgIm.size();
    }

    public List<String> addArgRe(int i){
        return _addArgRe.get(i);
    }
}
